#define _CRT_SECURE_NO_WARNINGS

void rotate(int** matrix, int matrixSize, int* matrixColSize) {
    int n = matrixSize;

    int row = n / 2;
    int col = (n + 1) / 2;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            int temp = matrix[i][j];

            matrix[i][j] = matrix[n - 1 - j][i];
            matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];
            matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];
            matrix[j][n - 1 - i] = temp;
        }
    }
}

// void rotate(int** matrix, int matrixSize, int* matrixColSize){
//     int n = matrixSize;

//     int **ret = (int**)malloc(sizeof(int*) * (n));
//     for (int i = 0; i < n; i++)
//         ret[i] = (int*)malloc(sizeof(int) * n);

//     for (int i = 0; i < n; i++)
//         for (int j = 0; j < n; j++)
//             ret[j][n - 1 - i] = matrix[i][j];

//     for (int i = 0; i < n; i++)
//         for (int j = 0; j < n; j++)
//             matrix[i][j] = ret[i][j];

//     free(ret);
// }